<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title><%= htmlWebpackPlugin.options.title %></title>
        <link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    </head>
    <body>
        <nav class="navbar navbar-default">
            <div class="container-fluid">
                <div class="navbar-header">
                    <p class="navbar-text">CHIVOX API JSSDK</p>
                    <ul class="nav nav-pills">
                        <li><a href="index.html">首页</a></li>
                        <li><hr/></li>
                        <li><a href="aipanel_enword.html">基础应用场景</a></li>
                        <li><hr/></li>
                        <li><a href="exam_pred.html">考试考辅示例</a></li>
                        <li><hr/></li>
                        <li class="active"><a href="aiplayer_basic.html">核心功能和工具</a></li>
                        <li><hr/></li>
                        <li><a target="_blank" href="../doc/index.html">SDK接口文档</a></li>
                    </ul>
                </div>
                <div class="content">
                    <div class="chivoxpanel">
                        <div class="list">
                            <img class="icon" src="images/eval.png"></img>
                            <p class="title">核心功能和工具</p>
                            <ul>
                                <li><a href="aiplayer_tts.html">TTS合成</a></li>
                                <li><a href="aiflashdetect.html">检测Flash版本</a></li>
                                <li><a href="aiplayer_basic.html">播放器基本使用</a></li>
                                <li class="active"><a href="airecorder_basic.html">录音机基本使用</a></li>
                                <li><a href="aistatuscode.html">状态码查询</a></li>
                            </ul>
                        </div>

                        <!-- mainarea -->
                        <div class="mainarea">
                            <p class="title"><%= htmlWebpackPlugin.options.title %></p>
                            <div>
                                <button id="btncreate">创建录音机</button>
                                <button id="btnrecord">开始录音</button>
                                <button id="btnstop">停止录音</button>
                                <button id="btnreplay">开始回放</button>
                                <button id="btnstopreplay">停止回放</button>
                                <div id="status">
                                    <div>状态信息：</div>
                                    <div class="message"></div>
                                </div>
                                <div id="chivox-recorder"></div>
                            </div>
                            <p>如何创建</p>
                            <ol style="font-size:10px;">
                                <li>在页面中引入chivoxAPI SDK<pre>&lt;script type="text/javascript" src="chivox.min.js"&gt;&lt;/script&gt;</pre></li>
                                    <li>在HTML页面中创建一个div，设置id为chivox-recorder</li>
                                    <li>
                                        使用JavaScript创建一个Recorder对象，参考代码：
                                        <pre>
const options  = {
  recorderid:  '#chivox-recorder',
  mode: ChiVoxSDK.MODE.HTML5,
  appKey: Config.appKey,
  sigurl: '/token',
  onError: (err) =&gt; {
    console.info('[ onError ]:', err);
  },
  onInit: () =&gt; {},
  onConnectorStatusChange: (code, message) =&gt; {
    console.warn('[ onConnectorStatusChange ]:', code, message);
  }
};

var recorder = new ChiVoxSDK.createRecorder(options);</pre>
                                    </li>
                            </ol>
                            <p>在onInit函数执行完成后，我们就可以进行其他一些操作了。<br/>注意：必须在Web服务器中访问该页面；必须等Flash加载完成后才能调用其他方法。</p>
                            <p>常用方法示例：</p>
                            <ol style="font-size:10px;">
                                <li>开始录音。下面以录音"past"单词为例，录音时长为3000ms
                                    <pre>
recorder.record({
    duration: 3000,//录音时长，单位ms
    serverParams: {//录音评分参数，具体取决于服务类型
        coreType: "en.word.score",
        refText: "past",
        rank: 100,
        userId: "guest"
    },
    onRecordIdGenerated: function(code, message){
        //服务器返回唯一的录音ID: message.recordId
    },
    onStart: function(){//录音开始的回调
    },
    onStop: function(){//到达指定时间，录音自动停止的回调
    },
    onScore: function(){//录音结束后，评分成功的回调
    },
    onScoreError: function(){//录音结束后，评分失败的回调
    },
});</pre>
                                    <p>注意：录音之前请确保Flash加载成功，已经连接到录音服务器，并且Flash可以访问麦克风（即canRecord属性为true）</p>
                                </li>
                                <li>停止录音
                                    <pre>
recorder.stop();</pre>
                                </li>
                                <li>开始回放。在录音机的生命周期内，可以回放指定recordId的音频。
                                    <pre>
recorder.startReplay({
    recordId: lastRecordId,
    onStop: function(){//回放自动停止的回调
    }
});</pre>
                                </li>
                                <li>停止回放
                                    <pre>
recorder.stopReplay();</pre>
                                </li>
                            </ol>
                        </div>

                    </div> <!-- mainarea -->
                </div>
            </div>
        </nav>

        <script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
    </body>
</html>
